package uk.ljmu.qudexapps.swfspreadsheet.services;

import java.io.Serializable;
import java.util.List;

import org.springframework.binding.message.MessageContext;

import uk.ljmu.qudexapps.swfspreadsheet.domain.MdSchema;
import uk.ljmu.qudexapps.swfspreadsheet.domain.MdSchemaInstance;
import uk.ljmu.qudexapps.swfspreadsheet.domain.VocabularyElement;

public interface MetadataService extends Serializable {

public boolean addMetadataSchema(MdSchemaInstance mdSchemaInstance);
public boolean deleteMetadataSchema(int index);
public List<MdSchema> getAvailableSchemas();
public List<MdSchemaInstance> getSelectedSchemas();
//public List<VocabularyElement> getSchemaElements(String prefix);
public MdSchemaInstance createMdSchemaInstance();
//public List<VocabularyElement> getFieldsOfClass(String schema);
//public List<VocabularyElement> getFieldsOfClassDynamic(String schema);
public List<VocabularyElement> getMetadataFieldsFromSchema(String schema);
public void setMdSchemaInstanceContainer(List<MdSchemaInstance> mdSchemaInstanceContainer);
public void clean();
public void elimGroup(String list, MessageContext context);
public boolean initialiseQudexSpreadsheetElements();
public void initialiseQudexElements();
public int getTypeSS();
public boolean schemasSelected();
}
